High density, semiconductor memories have become extensively used in computer systems as the cost of such memories has dropped. Semiconductor memories have largely replaced previously used magnetic core type memories. However, semiconductor memories are prone to single bit errors as a result of alpha particle radiation. When an alpha particle strikes the semiconductor material, electron-hole pairs are generated which can produce leakage currents that can discharge a node and change a data state. The electron-hole pairs can cause memory storage capacitors to be discharged. The bit lines in a dynamic memory are also susceptible to alpha particles. In all cases the alpha particles cause a loss of data even though no permanent damage is done to the circuit. The alpha particles are primarily derived from radioactive impurities used in the packaging of the semiconductor chip. Single bit errors such as caused by alpha particles are referred to soft errors and occur rather infrequently.
The semiconductor memories in computer systems are becoming quite large and in many cases data must be stored in the memories for an appreciable period of time, days, weeks and even longer. As the memories become larger and the storage time becomes longer, the probability of incurring soft errors due to alpha particle radiation increases. In many applications the accuracy of the data stored in the semiconductor memory is critical and the loss of a single bit within a field of data can produce a serious problem in the application being conducted by the computer.
There are techniques such as Hamming codes which can be used to detect errors but generally to detect only one error per data word. Since alpha errors occur intermittently there can occur two errors in the same word if the data pattern is corrected only when it is read out. Most existing systems generally perform error correction only when the data word is read out. Therefore it is possible that two errors can accumulate and the data word is lost.
Therefore, there exists a need for a semiconductor memory circuit and a memory system for detecting the occurrence of soft errors such as caused by alpha particles and correcting these errors on a recurring basis to prevent the accumulation of more errors in the data pattern stored in the semiconductor memory than can be handled by an error correction system.